package net.zjitc.io.summary;

import java.io.*;

/**
 * @author 李广彦
 * @date 2019-04-12-13：25
 * 转换流：解决乱码问题
 * 将D盘1.txt（有中文）拷贝到当前目录
 */
public class Test3 {
    public static void main(String[] args) {
         /* 1、创建转换流对象（注意一下编码格式）
              ANSI——GBK
           2、用转换流对象去构造字符缓冲流
           3、循环操作：
        *     读取源文件一行文本，写入目标文件
        *     增加换行符
        *  4、刷新
        *  5、关闭流
        * */
        /* 转换流构造方法需要传递2个参数：
         *  基本字节流、编码格式(与源文件一致)*/
        try {
            /* 用转换流去构造字符缓冲流*/
            InputStream in=new FileInputStream("D:\\1.txt");
            InputStreamReader isr=new InputStreamReader(in,"GBK");
            BufferedReader br=new BufferedReader(isr);

            OutputStream out=new FileOutputStream("1.txt");
            OutputStreamWriter osw;
            osw = new OutputStreamWriter(out,"UTF-8");
            BufferedWriter bw=new BufferedWriter(osw);
            String line;
            while ((line=br.readLine())!=null){
                bw.write(line);
                bw.newLine();
            }
            bw.flush();

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            /* 关闭流*/

        }

    }
}
